// pages/address/address.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: {
      id: 1,
      name: "",
      tel: "",
      region: [], //定义一个空数组用来存放选择地具体是哪一个省市区
      address: "",
      em: "",
    },
    change: false,
  },


  // 双向数据绑定-名字
  getname(e) {
    // console.log(e);
    this.data.user.name = e.detail.value
    this.setData({
      user: this.data.user
    })
  },
  // 双向数据绑定-电话
  gettel(e) {
    // console.log(e);
    this.data.user.tel = e.detail.value
    this.setData({
      user: this.data.user
    })
  },
  // 双向数据绑定-详细地址
  getaddress(e) {
    // console.log(e);
    this.data.user.address = e.detail.value
    this.setData({
      user: this.data.user
    })
  },
  // 双向数据绑定-邮编
  getem(e) {
    // console.log(e);
    this.data.user.em = e.detail.value
    this.setData({
      user: this.data.user
    })
  },


  // 双向数据绑定-选择存放地址
  getUserProvince: function (e) {
    this.data.user.region = e.detail.value //将用户选择的省市区赋值给region
    this.setData({
      user: this.data.user
    })
  },


  // 设置默认地址 （没写）
  radioChange() {
    this.setData({
      change: !this.data.change
    })
  },

  // 添加地址
  getAdd() {
    let name = this.data.user.name;
    let tel = this.data.user.tel;
    let region = this.data.user.region;
    let address = this.data.user.address;
    let em = this.data.user.em;
    // 判断是否必填项有空值，是否全填
    if (!name || !tel || region.length < 1 || !address) {
      console.log("请填写完整信息");
      wx.showToast({
        title: '请填写完整信息',
        icon: 'error',
        duration: 2000 //持续的时间
      })
      return;
    }
    // 手机号码验证格式。
    let myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
    if (!myreg.test(tel)) {
      wx.showToast({
        title: '手机格式错误',
        icon: 'error',
        duration: 2000 //持续的时间
      })
      return;
    }
    // 邮箱格式验证
    let emreg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
    if (em) {
      if (!emreg.test(em)) {
        this.data.user.em = "";
        wx.showToast({
          title: '邮箱格式错误',
          icon: 'error',
          duration: 2000 //持续的时间
        })
        return;
      }
    }

    let getuser = wx.getStorageSync("address")
    if (getuser) {
      console.log(getuser);
      // 2.有数据
      getuser.push(this.data.user);
      // 4.更新数据
      wx.setStorageSync('address', getuser)
    } else {
      wx.setStorageSync('address', [this.data.user])
    }

    // 删除购物车数据
    wx.removeStorageSync('amend');
    wx.navigateTo({
      url: '/pages/useraddress/useraddress',
    })

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

    // 获取amend ，判断是否是修改内容，
    let amendItem = wx.getStorageSync('amend')
    if (amendItem) {
      this.setData({
        user: amendItem
      })
      // 先获取address
      let address = wx.getStorageSync('address');
      address.forEach((item, index) => {
        if (item.id == this.data.user.id) {
          address.splice(index, 1)
        }
      });
      wx.setStorageSync('address', address)
    } else {
      // 如果没有amend,也就是说是要新增地址。
      let addId = wx.getStorageSync('address') // 用户地址列表
      console.log(addId);
      if (!addId) {
        return;
      } else {
        // 进来的时候先给个默认1
        let maxNum = 1;
        // 循环列表
        for (let i = 0; i < addId.length; i++) {
          // 如果只有第一条数据就手动变2
          if (addId.length == 1 && addId[i].id!=2) {
            this.data.user.id = 2;
          } else {
            // 有多条数据的话就比较出最大的值,然后这个最大的值+1就是我们的id了
            for (let j = i + 1; j < addId.length; j++) {
              if (addId[i].id < addId[j].id) {
                // id加一
                maxNum = addId[j].id + 1;
                // 再把他的id赋值给user里面的id
                this.data.user.id = maxNum;
              }
            }
          }
        }
        // 更新user数据
        this.setData({
          user: this.data.user
        })
      }
    }


  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})